package model;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class CatalogueChambre implements Iterable<Chambre> {
	private List<Chambre> chambres = null;
	private static CatalogueChambre catalogue = null;
	
	private CatalogueChambre(){
		chambres = new ArrayList<Chambre>();
	}
	
	public static CatalogueChambre getInstance(){
		if (catalogue == null){
			catalogue = new CatalogueChambre();
		}
		return catalogue;
	}
	
	public boolean add(Chambre chambre){
		return chambres.add(chambre);
	}
	
	public Chambre get(int i){
		return chambres.get(i);
	}
		
	public boolean contains(Chambre chambre){
		return chambres.contains(chambre);	
	}
	
	public Chambre findChambre(Chambre chambre){
		for (Chambre itCham : chambres){
			if (itCham.equals(chambre)){
				return itCham;
			}
		}
		return null;
	}
	
	public int nbChambresCat(int IDCat){
		int nbCat = 0;
		
		for (Chambre itCham : chambres){
			if (itCham.getCatChambre().compareTo(IDCat) == 0){
				nbCat++;
			}
		}
		
		return nbCat;
	}
	
	@Override
	public Iterator<Chambre> iterator() {
		return chambres.iterator();
	}

}
